// Function是一个构造函数
// 构造函数上有 prototype 属性
// 赋默认值 运行函数的函数内部的this
Function.prototype.call2 = function(content = window) {
        content.fn = this;
        //content是要服务的对象
        // this --> 函数
        console.log('开始写call2');
        // 函数 this 剩下的参数
        let args = [...arguments].slice(1) //函数运行需要的参数
        let result = content.fn(...args)

    } //在Function原型上添加一个call2方法

let foo = {
    value: 1
}

function bar(name, age) {
    console.log(name);
    console.log(age);
    console.log(this.value);

    //Array.from(); 也能解决伪数组问题
    //展开放进一个新数组 解决伪数组问题
}
// 函数即是函数 也是对象
console.log(bar.__proto__, '++++++');
bar.call2(foo, name, age)